const completionSpec: Fig.Spec = {
  name: "speedtest-cli",
  description:
    "Command line interface for testing internet bandwidth using speedtest.net",
  options: [
    {
      name: ["--help", "-h"],
      description: "Show this help message and exit",
    },
    { name: "--no-download", description: "Do not perform download test" },
    { name: "--no-upload", description: "Do not perform upload test" },
    {
      name: "--single",
      description:
        "Only use a single connection instead of multiple. This simulates a typical file transfer",
    },
    {
      name: "--bytes",
      description:
        "Display values in bytes instead of bits. Does not affect the image generated by --share, nor the output from --json or --csv",
    },
    {
      name: "--share",
      description:
        "Generate and provide a URL to the speedtest.net share results image, not displayed with --csv",
    },
    {
      name: "--simple",
      description: "Suppress verbose output, only show basic information",
    },
    {
      name: "--csv",
      description:
        "Suppress verbose output, only show basic information in CSV format. Speeds listed in bit/s and not affected by --bytes",
    },
    {
      name: "--csv-delimiter",
      description:
        "Single character delimiter to use in CSV ouput. Default ','",
      args: { name: "CSV_DELIMITER" },
    },
    { name: "--csv-header", description: "Print CSV headers" },
    {
      name: "--json",
      description:
        "Suppress verbose output, only show basic information in JSON format. Speeds listed in bit/s and not affected by --bytes",
    },
    {
      name: "--list",
      description: "Display a list of speedtest.net servers sorted by distance",
    },
    {
      name: "--server",
      description:
        "Specify a server ID to test against. Can be supplied multiple times",
      args: { name: "SERVER" },
    },
    {
      name: "--exclude",
      description:
        "Exclude a server from selection. Can be supplied multiple times",
      args: { name: "EXCLUDE" },
    },
    {
      name: "--mini",
      description: "URL for the Speedtest Mini server",
      args: { name: "MINI" },
    },
    {
      name: "--source",
      description: "Source IP address to bind to",
      args: { name: "SOURCE" },
    },
    {
      name: "--timeout",
      description: "HTTP timeout in seconds. Default 10",
      args: { name: "TIMEOUT" },
    },
    {
      name: "--secure",
      description:
        "Use HTTPS instead of HTTP when communicating with speedtest.net operated servers",
    },
    {
      name: "--no-pre-allocate",
      description:
        "Do not pre allocate upload data. Pre allocation is enabled by default to improve upload performance. To support systems with insufficient memory, use this option to avoid a MemoryError",
    },
    { name: "--version", description: "Show the version number and exit" },
  ],
  // Only uncomment if speedtest-cli takes an argument
  // args: {}
};
export default completionSpec;
